package com.hjx.other;

/**
 *
 * 实现 pow(x, n) ，即计算 x 的 n 次幂函数。
 *
 * 示例 1:
 *
 * 输入: 2.00000, 10
 * 输出: 1024.00000
 * 示例 2:
 *
 * 输入: 2.10000, 3
 * 输出: 9.26100
 * 示例 3:
 *
 * 输入: 2.00000, -2
 * 输出: 0.25000
 * 解释: 2-2 = 1/22 = 1/4 = 0.25
 * 说明:
 *
 * -100.0 < x < 100.0
 * n 是 32 位有符号整数，其数值范围是 [−2^31, :2^31 − 1] 。
 *
 * @author houjinxin
 * @version 创建时间：2019/11/5.
 */
public class MiFunction {

    public double myPow(double x, int n) {

        if (n < 0){
            x = 1 / x;
            n = - n;
        }
        double res = 1d;
        for (int i = 0; i < n; i++){
            res *= x;
        }
        return res;
    }

    public double myPow1(double x, int n) {
        return Math.pow(x, n);
    }

    public static void main(String[] args) {
        System.out.println(new MiFunction().myPow(2.00000,10));
        System.out.println(new MiFunction().myPow(2.10000, 3));
        System.out.println(new MiFunction().myPow( 2.00000, -2));

    }
}
